/**
 * @author Evelyn Lissete Paiz     Carné: 11365
 * @author Jose Rodrigo Morales    Carné: 11608
 * @author Erwin Daniel Solorzano  Carné: 11223
 * Sección: 10 
 * Breve Descripción: Clase que permite utilizar una cartera electrónica.
*/
package sourceCode;

import java.util.ArrayList;

public class Cuenta implements Usuario {
    
    //-----------------------------------------------------------------
    //Atributos
    //-----------------------------------------------------------------
    

    /**Encargados de guardar la información personal del usuario*/
    private String usuario, contraseñaMaestra;
    private int idUsuario, contId;
    

    

    //-----------------------------------------------------------------
    //  Constructores
    //-----------------------------------------------------------------    
    
    /**
     * Método constructo que permite crear una nueva cartera electrónica.
     * @param usuario 
     * @param contraseñaMaestra
     */
    public Cuenta(int idUsuario, String usuario, String contraseñaMaestra) {
        this.idUsuario=idUsuario;
        this.usuario = usuario;
        this.contraseñaMaestra = contraseñaMaestra;

    }
    
    //-----------------------------------------------------------------
    //  Métodos
    //-----------------------------------------------------------------    

    /**
     * Método que permite fijar el número de id de la categoria.
     * @param contId 
     */
    /**
     * Método encargado de obtener la contraseña maestra.
     * @return contraseñaMaestra
     */
    public String getContraseñaMaestra() {
        return contraseñaMaestra;
    }

    /**
     * Método encargado de modificar la contraseña maestra.
     * @param contraseñaMaestra 
     */
    public void setContraseñaMaestra(String contraseñaMaestra) {
        this.contraseñaMaestra = contraseñaMaestra;
    }
    
    /**
     * Método encargado de mostrar el id del usuario.
     * @return idUsuario
     */
    public int getIdUsuario (){
        return idUsuario;
    }
    
    /**
     * Método encargado de modificiar el id del usuario de la cartera.
     * @param idUsuario 
     */
    public void setIdUsuario (int idUsuario){
        this.idUsuario=idUsuario;
    }
    
    /**
     * Método que permite modificar contraseña maestra.
     * @param contraseña
     * @param contraseñaMaestra 
     */
    public void modificarContraseñaMaestra (String contraseña, String contraseñaMaestra){
        if (this.contraseñaMaestra.equals(contraseña)==true){
            this.setContraseñaMaestra(contraseñaMaestra);
        }
    }
    

    /**
     * Método encargado de obtener el contador que controla el id de las categorias.
     * @return contId
     */
    public int getContId() {
        return contId;
    }
    

    
    //-----------------------------------------------------------------
    //  2 Métodos de la Interface USUARIO implementados
    //-----------------------------------------------------------------
    
    /**
     * Permitira establecer el nombre de usuario
     * @param usuario 
     */
    @Override
    public void setUsuario(String usuario)
    {this.usuario = usuario;}

    /**
     * Permitirá obtener el nombre de usuario.
     * @return usuario.
     */
    @Override
    public String getUsuario()
    {return usuario;}

    //-----------------------------------------------------------------
    //  toString
    //-----------------------------------------------------------------
    
    
    @Override
    public String toString() {
        String datos;
        return  "Usuario: " + usuario + "\n"+ "Contraseña: " + contraseñaMaestra;
    }
   
}
